home *** CD-ROM | disk | FTP | other *** search
/ Aminet 50 / Aminet 50 (2002)(GTI - Schatztruhe)[!][Aug 2002].iso / Aminet / text / edit / tecoc-146.lha / tecoc.rnh < prev    next >
Text File  |  1991-07-05  |  64KB  |  2,145 lines

  1. .!    To create a help file for TECO,  do the following
  2. .!
  3. .!    $ runoff tecoc.rnh
  4. .!    $ library/create/help tecoc tecoc
  5. .!    $ delete tecoc.hlp;*
  6. .!
  7. .! A part of this file relating to macros can be conditionally runoff'd
  8. .! using the following command:
  9. .!
  10. .!    $ runoff/variant=MACROS tecoc.rnh
  11. .!
  12. .NO PAGING
  13. .NO FLAGS ALL
  14. .LEFT MARGIN 1
  15. .RIGHT MARGIN 70
  16. .INDENT -1
  17. 1 Arithmetic
  18. .INDENT 5
  19. TECOC supports integer arithmetic.  Expressions can be constructed
  20. using numbers, operators, variables (q-registers) and values
  21. maintained by TECO.  Expressions are used to supply numeric values to
  22. TECO commands.  The = command simply displays the value of it's
  23. numeric argument.  Using it gives the TECO user a simple integer
  24. calculator.  Radix control is provided to allow the user to input and
  25. output constants in octal, decimal or hexadecimal.
  26.  Expressions are evaluated left to right unless parentheses are used to
  27. alter the order of execution.  Parentheses may be nested.  If
  28. parentheses are used, the expression within innermost parentheses is
  29. evaluated first, left to right.  There is no operator precedence.
  30. .INDENT -1
  31. 2 Examples
  32. .LITERAL
  33.  256*4=$$        will display 1024 on the screen
  34.  
  35.  10*(4+3)ua$$    will put 70 into q-register a
  36.  
  37.  qa=$$           will display the value stored in q-register a
  38.  
  39.  qa*20=$$        will display the value of q-register a, times 20
  40.  
  41.  z=$$            will display the number of characters in the edit buffer
  42.  
  43.  0a==$$          will display the ASCII value of the character following
  44.                 the character pointer,  in octal
  45. .END LITERAL
  46. .INDENT -1
  47. 2 Operators
  48. .INDENT 5
  49. The following operators are recognized by TECO in expressions
  50. .SKIP
  51. .LITERAL
  52.      OPERATOR   EXAMPLE        FUNCTION
  53.  
  54.         +       +2=2       Unary plus,  not meaningful,  but legal
  55.         +       2+2=4      Addition
  56.         -       -2=-2      Unary minus,  negation
  57.         -       8-6=2      Subtraction
  58.         *       2*3=6      Multiplication
  59.         /       8/3=2      Division with truncated result
  60.         &       12&10=8    Logical AND
  61.         #       12#10=14   Logical OR
  62.         ^_      5^_=-6     Logical complement
  63. .END LITERAL
  64. .INDENT -1
  65. 2 Q-registers
  66. .INDENT 5
  67. Q-registers provide TECO with variables.  Each q-register can contain
  68. text and a numeric value.  See "Q-REGISTERS" for more help.
  69. .INDENT -1
  70. 2 Radix_control
  71. .INDENT 5
  72. TECO allows the user to operate in octal, decimal or hexadecimal.  A
  73. current radix is maintained by TECO.  Decimal is the default radix.
  74. Numbers in command strings are interpreted according to the current
  75. radix.  The following commands alter the current radix.
  76. .SKIP
  77. .LITERAL
  78.      ^D     change the current radix to decimal
  79.  
  80.      ^O     change the current radix to octal
  81.  
  82.      ^R     return the value of the current radix
  83.  
  84.      n^R    set the radix.  n must be 8, 10 or 16
  85. .END LITERAL
  86. .INDENT -1
  87. 2 Special_values
  88. .INDENT 5
  89. The following commands return some kind of value.  Help is available
  90. on these commands individually.
  91. .SKIP
  92. .LITERAL
  93.    nA    next character            ^F    console switches
  94.    B     0                         n^F   terminal number
  95.    ED    edit level flag           ^H    current time of day
  96.    EH    help level flag           ^N    end-of-file flag
  97.    EO    TECO version number       ^R    current radix
  98.    ES    search verify flag        ^S    neg. size of last insert
  99.    ET    type-out flag             ^T    next typed char
  100.    EU    case flag                 ^X    search mode flag
  101.    EV    edit verify flag          ^Y    m,n of last insert
  102.    Mq    macro return value        ^Z    q-register memory used
  103.    Qq    value in q                ^^x   ASCII value of x
  104.    Z     number chars in buffer    :Qq   number chars in q
  105.    ^B    current date              \     digit string in buffer
  106.    ^E    form feed flag            .     position in buffer
  107. .END LITERAL
  108. .INDENT -1
  109. 2 Type-out
  110. .INDENT 5
  111. Type-out of the value of an expression is provided through the =
  112. command.  See "COMMANDS =" for help about the = command.
  113. .INDENT -1
  114. 1 Branching
  115. .INDENT 5
  116. TECO provides conditional and unconditional branching in
  117. command strings.  This capability provides much of the real power
  118. of the TECO language.  The following commands branch within a TECO
  119. command string:
  120. .SKIP
  121. .LITERAL
  122.     n"x     if-then            <       begin loop
  123.     |       else               >       end loop
  124.     '       end if             F<      goto same-level <
  125.     $$      exit macro         F>      goto same-level >
  126.     n$$     exit macro         F|      goto same-level |
  127.     m,n$$   exit macro         F'      goto same-level '
  128.     ;       leave loop         O       goto tag
  129.     n;      leave loop         nO      computed goto
  130.     :;      leave loop         ^C      stop now, give prompt
  131.     n:;     leave loop
  132. .END LITERAL
  133. .INDENT -1
  134. 1 Commands
  135. .INDENT 5
  136. Almost all TECO commands are terminated with two escape
  137. characters.
  138. .INDENT -1
  139. 2 ^A
  140. .INDENT 5
  141. The ^A command displays a string on the terminal. Text between
  142. two ^A's is displayed.  The ^A command can be @-sign modified.
  143. .SKIP
  144. Examples:
  145. .SKIP
  146. .LITERAL
  147. ^APrompt^A$$     would display Prompt on the terminal screen
  148. @^A:hello:$$     would display hello on the terminal screen
  149. .END LITERAL
  150. .INDENT -1
  151. 2 ^B
  152. .INDENT 5
  153. The ^B command returns the current date via the following equations:
  154. .SKIP
  155. .LITERAL
  156. OS/8:          ^B = (((month*32)+day)*8)+((year-1970)&7)+k
  157.                     where k = 4096 if year>1977
  158.                     and k=0 otherwise
  159. RT-11:         ^B = (((month*32)+day)*32)+year-1972
  160. RSTS/E:        ^B = ((year-1970)*1000)+day within year
  161. RSX-11:        ^B = ((year-1900)*16+month)*32+day
  162. VAX/VMS:       ^B = ((year-1900)*16+month)*32+day
  163. TOPS-10:       ^B = (((year-1964)*12+month-1)*31+day-1)
  164. .END LITERAL
  165.  
  166. .INDENT -1
  167. 2 ^C
  168. .INDENT 5
  169. The ^C command stops execution of TECO.  It interrupts TECO and
  170. returns control to the user.  This command is usually used to stop
  171. TECO when it is erroneously placed into an infinite loop.  If this
  172. command is entered while a search is in progress, the character
  173. pointer's position is not well defined.
  174.  
  175. .INDENT -1
  176. 2 ^D
  177. .INDENT 5
  178. The ^D command sets the radix to decimal.  This command is equivalent
  179. to a 10^R command, when the current radix is 10.  See the documentation
  180. of the ^R command for a description of the radix.
  181.  
  182. .INDENT -1
  183. 2 ^E
  184. .INDENT 5
  185. The ^E flag is the form feed flag.  It is equivalent to -1 if the last
  186. page which was input was terminated by a form feed.  If the last page
  187. read was not terminated by a form feed (if it was the last page in the
  188. file or if the edit buffer filled up before the entire page was read)
  189. then ^E is equivalent to 0.
  190.  The ^E flag is tested by the P command to determine whether a form
  191. feed should be appended to the edit buffer when it is output.
  192. .SKIP
  193.  ^E is also the prefix character for match control characters
  194. used within search strings.  For help on match control characters, the
  195. help key is "SEARCHING MATCH_CONTROL_CHARACTERS".
  196.  
  197. .INDENT -1
  198. 2 ^G^G
  199. .INDENT 5
  200. The ^G^G immediate command is actually an aid to type-in of command
  201. strings.  When you type ^G^G, the command string is cleared and you
  202. are given another prompt.  When you type in a command string that has
  203. a mistake in it, and you notice the mistake before you strike the
  204. ESCAPE-ESCAPE sequence that starts execution of the command string,
  205. this aid can be used to clear the string so that you can re-type it.
  206.  This aid works a little differently than the ^U and ^X aids.  They
  207. clear only the current line of the command string, not the whole
  208. command string.
  209.  
  210. .INDENT -1
  211. 2 ^G<SPACE>
  212. .INDENT 5
  213. The ^G<SPACE> immediate command is actually an aid to type-in of
  214. command strings.  When you type ^G and then a space, the current line
  215. of the command string is displayed.  This is useful when you are on a
  216. terminal that doesn't erase characters when the DELETE key is used.
  217. On such a terminal, typing in a command string and using DELETE to fix
  218. it can leave the command string in an unreadable state on the
  219. terminal.  In such a case, ^G<SPACE> will redisplay the current line
  220. of the command string.
  221.  
  222. .INDENT -1
  223. 2 ^G*
  224. .INDENT 5
  225. The ^G* immediate command is actually an aid to type-in of command
  226. strings.  When you type ^G and then an asterisk, the entire current
  227. command string is displayed.  This is useful when you are on a
  228. terminal that doesn't erase characters when the DELETE key is used.
  229. On such a terminal, typing in a command string and using DELETE to
  230. fix it can leave the command string in an unreadable state on the
  231. terminal.  In such a case, ^G* will redisplay the current command
  232. string.
  233.  
  234. .INDENT -1
  235. 2 ^H
  236. .INDENT 5
  237. The ^H (or BACKSPACE) command has two different functions.
  238. .SKIP
  239. .INDENT 5
  240. When used as a normal command in a command string,
  241. the ^H command returns the time of day via the following equations:
  242. .SKIP
  243. .LITERAL
  244. OS/8:          ^H = 0
  245. RT-11:         ^H = (seconds since midnight)/2
  246. RSTS/E:        ^H = minutes until midnight
  247. RSX-11:        ^H = (seconds since midnight)/2
  248. VAX/VMS:       ^H = (seconds since midnight)/2
  249. TOPS-10:       ^H = 60ths of a second since midnight or 50ths of
  250.                     a second where 50 Hz power is used
  251. .END LITERAL
  252. .SKIP
  253. .INDENT 5
  254. When used as an immediate-mode command (the first character typed
  255. after a TECO prompt) a BACKSPACE will cause TECO to immediately move
  256. to the front of the previous line and type the line (like a -1L1T).
  257. The BACKSPACE immediate mode command together with the LINE-FEED
  258. immediate mode command (which is like a 1L1T) provides a convenient
  259. way to step from line to line within the edit buffer.
  260.  
  261. .INDENT -1
  262. 2 ^I
  263. .INDENT 5
  264. The ^I (or TAB) command is the same as the I command, except that the
  265. tab character is inserted along with the tab character.  This command
  266. is a useful alternative to the I command when a FORTRAN or assembly
  267. language program is being edited.
  268.  
  269. .INDENT -1
  270. 2 ^J
  271. .INDENT 5
  272. The ^J (or LINE-FEED) command has two different functions.
  273. .SKIP
  274. .INDENT 5
  275. When used as a normal command in a command string, the LINE-FEED
  276. character has no effect.  It is meant to be used together with the
  277. RETURN and SPACE commands to provide the TECO programmer with a way to
  278. indent and format TECO programs and macros.
  279. .SKIP
  280. .INDENT 5
  281. When used as an immediate-mode command (the first character typed
  282. after a TECO prompt) a LINE-FEED will cause TECO to immediately move
  283. to the front of the next line and type the line (like a 1L1T).  The
  284. LINE-FEED immediate mode command together with the BACKSPACE immediate
  285. mode command (which is like a -1L1T) provides a convenient way to step
  286. from line to line within the edit buffer.
  287.  
  288. .INDENT -1
  289. 2 ^L
  290. .INDENT 5
  291. The ^L (or FORM-FEED) command performs no function in TECO.  It echoes
  292. as a form feed and can be used to format command strings used in
  293. macros.
  294. .PARAGRAPH
  295. Form feed are what split pages in files.  When TECO reads in a page
  296. from an input file,  a form feed defines the end of the page.  Form
  297. feeds can be inserted into files like other characters.  When inserted,
  298. they reside in the edit buffer.  When the file is output and TECO is
  299. used to edit the file later,  the inserted form feeds terminate pages.
  300.  
  301. .INDENT -1
  302. 2 ^M
  303. .INDENT 5
  304. The ^M (or RETURN) command performs no function in TECO. It can be
  305. used to format command strings in macros.
  306.  
  307. .INDENT -1
  308. 2 ^O
  309. .INDENT 5
  310. The ^O command sets the radix to octal.  This command is equivalent to
  311. a 8^R command, when the current radix is 10.  See the documentation of
  312. the ^R command for a description of the radix.
  313.  When a control-O or caret-O is encountered in a command string, it has
  314. the above meaning. When a control-O is typed by the user, control-O
  315. turns output to the terminal on or off.  TECO still generates
  316. characters, it simply throws them away instead actually displaying
  317. them.  When a command is executed which results in a lot of useless
  318. output to a slow terminal, control-O can be used to speed things up
  319. where control-C would stop execution.
  320.  
  321. .INDENT -1
  322. 2 ^Q
  323. .INDENT 5
  324. The ^Q command converts line positions in the edit buffer into the
  325. corresponding character positions.  The n^Q command returns the number
  326. of characters between the buffer position and the nth line terminator.
  327. The numeric argument can be positive or negative.  For example, n^QC
  328. is equivalent to nL.
  329. .PARAGRAPH
  330. Within string arguments, ^Q indicates that the next character is to be
  331. used literally.  For instance, Sttt^Q^Es$$ will search for ttt^Es
  332. rather than ttt followed by a sequence of spaces and/or tabs.
  333. .PARAGRAPH
  334. The ^Q and ^S characters also control terminal i/o.  The ^S character
  335. will "freeze" output to the terminal and ^Q will allow output to
  336. resume.  This feature allows the user to temporarily stop output to
  337. the screen so that text can be read before it scrolls off the top of
  338. the screen.
  339.  
  340. .INDENT -1
  341. 2 ^R
  342. .INDENT 5
  343. The ^R command sets or returns the value of TECO's radix.  To set the
  344. radix, use n^R, where n is a number between 2 and 36, inclusive.  If
  345. ^R is used without a numeric argument, the current radix is returned.
  346. The value of the radix affects the execution of the =, :=, ==, :==,
  347. ===, :=== and \ commands.  It also affects the meaning of digit
  348. strings within command strings.
  349.  If the radix is set to a value above 10, parsing of command strings
  350. is affected.  Upper and lowercase letters become valid as "digits" in
  351. constants.  The meaning of commands strings can become very confusing,
  352. as letters intended to be commands are absorbed as part of constants.
  353. It is recommended that bases higher than 10 be used only temporarily.
  354.  If an attempt is made to set the radix to a number that is out of
  355. range, the IRA error message is produced.
  356.  When TECO is started, the radix has a value if 10.
  357.  
  358. .INDENT -1
  359. 2 ^S
  360. .INDENT 5
  361. The ^S command returns the length of the last string found or inserted,
  362. multiplied by -1.  It is intended to be used in conjunction with
  363. other commands to manipulate the last string inserted or found.
  364. For instance,
  365. .SKIP
  366. .LITERAL
  367.       Sabc$^SD$$      find and delete abc
  368.       Sabc$^SC$$      find abc and move to the front of it
  369.       GM$^SD$$        insert q-register M, then change your mind
  370. .END LITERAL
  371. .SKIP
  372. .PARAGRAPH
  373. The ^Q and ^S characters also control terminal i/o.  The ^S character
  374. will "freeze" output to the terminal and ^Q will allow output to
  375. resume.  This feature allows the user to temporarily stop output to
  376. the screen so that text can be read before it scrolls off the top of
  377. the screen.
  378.  
  379. .INDENT -1
  380. 2 ^T
  381. .INDENT 5
  382. The ^T command...
  383. .INDENT -1
  384. 2 ^U
  385. .INDENT 5
  386. The ^U command...
  387. .INDENT -1
  388. 2 ^V
  389. .INDENT 5
  390. The ^V command...
  391. .INDENT -1
  392. 2 ^W
  393. .INDENT 5
  394. The ^W command...
  395. .INDENT -1
  396. 2 ^X
  397. .INDENT 5
  398. The ^X command...
  399. .INDENT 5
  400. The search flag.  Additional help about
  401. how to manipulate flags can be found under the
  402. FLAGS keyword.
  403.  This flag controls the significance of case in searches.
  404. If this flag is 0,  then case is insignificant in search
  405. commands,  and the command stext$$ would find "Text", "text"
  406. or "TEXT" in the edit buffer.  If this flag is -1,  then
  407. search commands are sensitive to case,  and the command
  408. stext$$ would only find "text" in the edit buffer.
  409. .INDENT -1
  410. 2 ^Y
  411. .INDENT 5
  412. The ^Y command...
  413. .INDENT -1
  414. 2 ^Z
  415. .INDENT 5
  416. The ^Z command...
  417. .INDENT -1
  418. 2 ^^X
  419. .INDENT 5
  420. The ^^X command...
  421. .INDENT -1
  422. 2 !
  423. .INDENT 5
  424. In TECO,  a tag is a string of characters enclosed in ! characters.
  425. A tag can be used as the destination of a branch (via the O command).
  426. When TECO is executing sequentially and encounters a tag,  the tag is
  427. simply ignored.  Tags also provide TECO's comment capability.
  428. .INDENT -1
  429. 2 "
  430. .INDENT 5
  431. The " command provides TECO's conditional branching capability,
  432. or "if-then-else" construct.  The two general forms of the " command
  433. are
  434. .SKIP
  435. .LITERAL
  436.      n"x<BODY>'               like "if x(n) then <BODY>"
  437.  
  438.      n"x<BODY1>|<BODY2>'      like "if x(n) then <BODY1> else <BODY2>"
  439. .END LITERAL
  440. .SKIP
  441. Where n is an expression and x is a conditional character.  The
  442. conditional characters determine how the value of the expression
  443. is tested.
  444.  Conditionals may be nested.
  445. .INDENT -1
  446. 3 "<
  447. .INDENT 5
  448. Execute the following command string if the preceding expression is
  449. less than zero.  Equivalent to "L, "S or "T.
  450. .INDENT -1
  451. 3 "=
  452. .INDENT 5
  453. Execute the following command string if the preceding expression is
  454. equal to zero.  Equivalent to "E, "F or "U.
  455. .INDENT -1
  456. 3 ">
  457. .INDENT 5
  458. Execute the following command string if the preceding expression is
  459. greater than zero.  Equivalent to "G.
  460. .INDENT -1
  461. 3 "A
  462. .INDENT 5
  463. Execute the following command string if the preceding expression
  464. evaluates to a value that is the ASCII code for an alphabetic
  465. character.  Alphabetic characters are all upper
  466. case and lower case letters from A to Z.
  467. .INDENT -1
  468. 3 "C
  469. .INDENT 5
  470. Execute the following command string if the preceding expression evaluates to the ASCII code for a symbol constituent.
  471. Symbol constituents are upper and lower case letters from A to Z,
  472. digits,  or periods and dollar signs.
  473. .INDENT -1
  474. 3 "D
  475. .INDENT 5
  476. Execute the following command string if the preceding
  477. expression evaluates to the ASCII code for a digit.  Digits
  478. are 0 through 9.
  479. .INDENT -1
  480. 3 "E
  481. .INDENT 5
  482. Execute the following command string if the preceding
  483. expression is
  484. equal to zero.  Equivalent to "=, "F or "U.
  485. .INDENT -1
  486. 3 "F
  487. .INDENT 5
  488. Execute the following command string if the preceding expression is
  489. FALSE.  FALSE in TECO is 0.  Equivalent to "=, "E or "U.
  490. .INDENT -1
  491. 3 "G
  492. .INDENT 5
  493. Execute the following command string if the preceding expression is
  494. greater than zero.  Equivalent to ">.
  495. .INDENT -1
  496. 3 "L
  497. .INDENT 5
  498. Execute the following command string if the preceding expression is
  499. less than zero.  Equivalent to "<, "S or "T.
  500. .INDENT -1
  501. 3 "N
  502. .INDENT 5
  503. Execute the following command string if the preceding expression is
  504. not equal to zero.
  505. .INDENT -1
  506. 3 "R
  507. .INDENT 5
  508. Execute the following command string if the preceding expression
  509. evaluates to the ASCII code for an alphanumeric character.
  510. Alphanumeric characters are digits and the upper
  511. and lower case characters from A to Z.
  512. .INDENT -1
  513. 3 "S
  514. .INDENT 5
  515. Execute the following command string if the preceding expression is
  516. SUCCESSFUL.  SUCCESSFUL in TECO is a value less than 0.  Equivalent
  517. to "<, "L or "T.
  518. .INDENT -1
  519. 3 "T
  520. .INDENT 5
  521. Execute the following command string if the preceding expression is
  522. TRUE.  TRUE in TECO is a value less than 0.
  523. Equivalent to "<, "L or "S.
  524. .INDENT -1
  525. 3 "U
  526. .INDENT 5
  527. Execute the following command string if the preceding expression was
  528. UNSUCCESSFUL.  UNSUCCESSFUL in TECO is 0. Equivalent to "=, "E or "F.
  529. .INDENT -1
  530. 3 "V
  531. .INDENT 5
  532. Execute the following command string if the preceding expression
  533. evaluates to the ASCII code for a lower case letter from a to z.
  534. .INDENT -1
  535. 3 "W
  536. .INDENT 5
  537. Execute the following command string if the preceding expression
  538. evaluates to the ASCII code for a upper case letter from A to Z.
  539. .INDENT -1
  540. 2 %q
  541. .INDENT 5
  542. The %q command...
  543. .INDENT -1
  544. 2 '
  545. .INDENT 5
  546. The ' command...
  547. .INDENT -1
  548. 2 *q
  549. .INDENT 5
  550. The *q immediate command...
  551. .INDENT -1
  552. 2 .
  553. .INDENT 5
  554. The . command...
  555. .INDENT -1
  556. 2 ;
  557. .INDENT 5
  558. The ; command...
  559. .INDENT -1
  560. 2 <
  561. .INDENT 5
  562. the < command...
  563. .INDENT -1
  564. 2 >
  565. .INDENT 5
  566. The > command...
  567. .INDENT -1
  568. 2 =
  569. .INDENT 5
  570. The = command...
  571. .INDENT -1
  572. 2 :=
  573. .INDENT 5
  574. The := command...
  575. .INDENT -1
  576. 2 ?
  577. .INDENT 5
  578. The ? command...
  579. .INDENT -1
  580. 2 @
  581. .INDENT 5
  582. The @ command...
  583. .INDENT -1
  584. 2 A
  585. .INDENT 5
  586. The A command is used to append the next page of text
  587. from the input file to the end of the current editing
  588. buffer.  The command is of the form:
  589. .SKIP
  590. .LITERAL
  591.      A  Read the next page of text from the input file
  592.         and append it to the end of the current text
  593.         buffer
  594. .END LITERAL
  595. .INDENT -1
  596. 2 B
  597. .INDENT 5
  598. The B command...
  599. .INDENT -1
  600. 2 BACKSPACE
  601. .INDENT 5
  602. The ^H (or BACKSPACE) command has two different functions.  When used
  603. as an immediate mode command (the first character typed after a TECO
  604. prompt) it causes a -1L1T command string to be executed. Together with
  605. the LINE-FEED immediate mode command,  this provides a convenient way
  606. to move through a file.
  607.  When used as a normal command in a command string,
  608. the ^H command returns the time of day via the following equations:
  609. .SKIP
  610. .LITERAL
  611. OS/8:          ^H = 0
  612. RT-11:         ^H = (seconds since midnight)/2
  613. RSTS/E:        ^H = minutes until midnight
  614. RSX-11:        ^H = (seconds since midnight)/2
  615. VAX/VMS:       ^H = (seconds since midnight)/2
  616. TOPS-10:       ^H = 60ths of a second since midnight or 50ths of
  617.                     a second where 50 Hz power is used
  618. .END LITERAL
  619. .INDENT -1
  620. 2 C
  621. .INDENT 5
  622. The C command is used to move the pointer past a
  623. specified number of characters.  Common forms of the
  624. "C" command are:
  625. .SKIP
  626. .LITERAL
  627.      C  Advance the pointer to the next character
  628.     3C  Move forward by three characters
  629.    -1C  Move back to the previous character
  630. .END LITERAL
  631. .INDENT -1
  632. 2 D
  633. .INDENT 5
  634. The D command is used to delete characters from the
  635. editing buffer.  Common forms of the command are:
  636. .SKIP
  637. .LITERAL
  638.      D  Delete the character which follows the pointer
  639.     5D  Delete the next five characters, starting
  640.         with the character following the pointer
  641.    -1D  Delete the character which immediately precedes
  642.         the pointer
  643. .END LITERAL
  644. .INDENT -1
  645. 2 E%
  646. .INDENT 5
  647. The E% command...
  648. .INDENT -1
  649. 2 E_
  650. .INDENT 5
  651. The E_ command...
  652. .INDENT -1
  653. 2 EA
  654. .INDENT 5
  655. The EA command...
  656. .INDENT -1
  657. 2 EB
  658. .INDENT 5
  659. The EB command...
  660. .INDENT -1
  661. 2 EC
  662. .INDENT 5
  663. The EC command...
  664. .INDENT -1
  665. 2 ED
  666. .INDENT 5
  667. The edit level flag.  Additional help about
  668. how to manipulate flags can be found under the
  669. FLAGS keyword.  Bits within this flag have the following
  670. meanings:
  671. .SKIP
  672. .LITERAL
  673.        1    Allow caret (^) in search strings
  674.        2    Allow Y and _ commands to destroy edit buffer
  675.        4    Don't arbitrarily expand memory
  676.        16   preserve dot on failing searches
  677.        64   only move dot by one on multiple occurrence searches
  678. .END LITERAL
  679. .INDENT -1
  680. 3 1
  681. .INDENT 5
  682. Allow caret (^) characters in search strings.  If this bit is 1,
  683. then the caret character is a normal character in search strings.  If
  684. this bit is 0,  then the caret character causes the immediately
  685. following character in the search string to become a control character.
  686. It is useful to turn this bit off when you are editing a file with
  687. many control characters.
  688. .INDENT -1
  689. 3 2
  690. .INDENT 5
  691. Allow Y and _ commands,  even if there is text in the edit buffer.
  692. If this bit is 1,  the Y and _ commands will work, even if the edit
  693. buffer contains text.  If this bit is 0,  then the Y and _ commands
  694. will cause an error when the edit buffer contains text.  Note that
  695. this flag operates sensibly:  it only aborts Y commands if
  696. an output file is defined.
  697.  This flag is useful because it is very easy to execute a Y
  698. command by mistake and irrevocably lose the contents of the edit
  699. buffer.
  700. .INDENT -1
  701. 3 4
  702. .INDENT 5
  703. Do not arbitrarily expand memory.  If this bit is set,  TECO
  704. will expand memory in order to execute the A command.  It will not
  705. expand memory in order to execute the Y, P or N commands.  If this
  706. bit is clear,  TECO will expand the edit buffer in order to fit
  707. entire pages into the edit buffer when the user execute an A, N, P
  708. or Y command.
  709. .INDENT -1
  710. 3 16
  711. .INDENT 5
  712. Preserve dot on failing searches.  If this bit is 1,  then
  713. when a search fails,  the character pointer is left pointing to
  714. the same place it was pointing before the search was attempted.
  715. If this bit is 0,  then when a search fails,  the character pointer
  716. is left pointing to the beginning of the edit buffer.
  717. .INDENT -1
  718. 3 64
  719. .INDENT 5
  720. Move the character pointer by one on multiple occurrence searches.
  721. This bit affects the way TECO handles the character pointer while
  722. executing a command like 5Stext$$.  If this bit is 1,  then the
  723. character pointer is incremented each time the text string is found.
  724. If this bit is 0,  then the character pointer is moved to the end of
  725. the found text string each time the text string is found.
  726.  For example,  suppose the text buffer contains 20 A's,  the
  727. character pointer is currently pointing to the beginning of the edit
  728. buffer,  and the bit is 1.  The command 5SAA$$ will complete leaving
  729. the character pointer between the 6th and 7th characters (.=$$ gives 6).
  730. Under the same conditions,  with the bit set to 0,  the same command
  731. will complete leaving the character pointer between the 10th and 11th
  732. characters (.=$$ gives 10).
  733. .INDENT -1
  734. 2 EF
  735. .INDENT -1
  736. 2 EG
  737. .INDENT -1
  738. 2 EH
  739. .INDENT 5
  740. The help flag.  Additional help about
  741. how to manipulate flags can be found under the
  742. FLAGS keyword.  Bits within this flag have the following
  743. meanings:
  744. .SKIP
  745. .LITERAL
  746.        3    how much error message to display
  747.        4    display failing command string after errors
  748. .END LITERAL
  749. .INDENT -1
  750. 3 3
  751. .INDENT 5
  752. The two low bits of the EH flag control how much information
  753. is displayed when an error occurs.  The bits can have the following
  754. values:
  755. .SKIP
  756. .LITERAL
  757.          00     same as 10
  758.  
  759.          01     display only the 3-letter error code
  760.  
  761.          10     display 3-letter error code and one-line error message
  762.  
  763.          11     display 3-letter error code,  one-line error message and
  764.                 a paragraph describing the error in detail.
  765. .END LITERAL
  766. .INDENT -1
  767. 3 4
  768. .INDENT 5
  769. Output failing command string when an error occurs.  If this bit
  770. is 1,  then the commands string that caused the error is displayed up
  771. to and including the command that caused the error.  This is just like
  772. typing the immediate mode question-mark command after every error.  If
  773. this bit is 0,  then the failing command string is not typed.
  774. .INDENT -1
  775. 2 EI
  776. .INDENT 5
  777. The EI command...
  778. .INDENT -1
  779. 2 EJ
  780. .INDENT 5
  781. The EJ command...
  782. .INDENT -1
  783. 2 EK
  784. .INDENT 5
  785. The EK command...
  786. .INDENT -1
  787. 2 EL
  788. .INDENT 5
  789. The EL command...
  790. .INDENT -1
  791. 2 EM
  792. .INDENT 5
  793. The EM command...
  794. .INDENT -1
  795. 2 EN
  796. .INDENT 5
  797. The EN command...
  798. .INDENT -1
  799. 2 EP
  800. .INDENT 5
  801. The EP command...
  802. .INDENT -1
  803. 2 EQ
  804. .INDENT 5
  805. The EQ command...
  806. .INDENT -1
  807. 2 ER
  808. .INDENT 5
  809. The ER command...
  810. .INDENT -1
  811. 2 ES
  812. .INDENT 5
  813. The ES flag controls what is displayed on the
  814. terminal after every successful search command completes.  By
  815. default,  nothing is displayed (ES is 0).  ES has the following
  816. meanings:
  817. .SKIP
  818. .LITERAL
  819.        0         don't display anything
  820.        -1        display the line containing the found string
  821.        1-31      display the line containing the found string,
  822.                  with a line feed at the character position
  823.        32-126    display the line containing the found string,
  824.                  with the character whose ASCII code is represented
  825.                  by ES at the character position
  826.        m*265+n   n has the meanings defined above.  m is the number
  827.                  of lines above and below the found string to be
  828.                  displayed.
  829. .END LITERAL
  830. .INDENT -1
  831. 2 ESCAPE
  832. .INDENT 5
  833. The ESCAPE command...
  834. .INDENT -1
  835. 2 ET
  836. .INDENT 5
  837. The type-out flag.  Additional help about
  838. how to manipulate flags can be found under the
  839. FLAGS keyword.  Bits within this flag have the following
  840. meanings:
  841. .SKIP
  842. .LITERAL
  843.        1       inhibit conversions during type-out
  844.        2       process DELETE and ^U in scope mode
  845.        4       don't convert user's input to upper case
  846.        8       read without echo on ^T commands
  847.        16      cancel ^O on type-out
  848.        32      read with no wait on ^T commands
  849.        128     mung mode
  850.        256     truncate to terminal width
  851.        512     terminal is a CRT
  852.        1024    terminal is a refresh scope
  853.        32768   trap ^C
  854. .END LITERAL
  855. .INDENT -1
  856. 3 1
  857. .INDENT 5
  858. Type out in image mode.  If this bit is 1,  no conversions
  859. are performed when text is typed out.  If this bit is 0,  TECO
  860. automatically converts non-displayable character into a displayable
  861. form before displaying them on the terminal.  For instance,  the
  862. control-A character is converted to ^A and the ESCAPE character is
  863. converted to a dollar sign.
  864. .INDENT -1
  865. 3 2
  866. .INDENT 5
  867. Process DELETE and ^U in scope mode.  If this bit is set,
  868. the DELETE and ^U commands will cause characters being deleted
  869. to disappear from the terminal screen.  If this bit is 0,  then
  870. deleted characters are simply echoed to the terminal screen
  871. and ^U simply advances to the next line.
  872. .INDENT -1
  873. 3 4
  874. .INDENT 5
  875. Read lower case.  If this bit is 1,  TECO will not convert
  876. lowercase characters to uppercase on input.  If this bit is 0,
  877. TECO will convert lowercase characters typed by the user into
  878. uppercase.
  879. .INDENT -1
  880. 3 8
  881. .INDENT 5
  882. Read without echo for ^T.  If this bit is 1,  ^T commands
  883. will not echo.  If this bit is 0,  ^T commands will echo.  This
  884. bit allows the user to explicitly echo input characters as
  885. he/she sees fit.
  886. .INDENT -1
  887. 3 16
  888. .INDENT 5
  889. Cancel ^O on type-out.  If this bit is 1,  TECO will
  890. cancel any outstanding control-O command before doing its
  891. output,  then automatically clear the bit.  If this bit is 0,
  892. TECO will output normally,  subject to ^O control.
  893. .INDENT -1
  894. 3 32
  895. .INDENT 5
  896. Read with no wait.  If this bit is 1,  ^T commands will
  897. return immediately,  regardless of whether there is a character
  898. in the type-ahead buffer or not.  If this bit is 1 and a ^T
  899. command is executed and the type-ahead buffer is empty,  the
  900. ^T will return a -1.  If this bit is 0 and a ^T command is
  901. executed and the type-ahead buffer is empty,  TECO will wait
  902. for the user to type a character.
  903. .INDENT -1
  904. 3 128
  905. .INDENT 5
  906. Mung mode bit. If this bit is 1,  TECO executes as if it
  907. is executing a TECO program instead of interactively.  If this
  908. bit is 1, then
  909. .SKIP
  910. .LITERAL
  911.          1.  all informational message are suppressed
  912.          2.  ^C causes the immediate termination of TECO
  913.          3.  errors cause TECO to terminate
  914. .END LITERAL
  915. If this bit is 0, then
  916. .LITERAL
  917.          1.  informational messages are displayed
  918.          2.  ^C returns the user to a TECO prompt
  919.          3.  errors return the user to a TECO prompt
  920. .END LITERAL
  921. .INDENT -1
  922. 3 256
  923. .INDENT 5
  924. Truncate lines to terminal width.  If this bit is 1,
  925. TECO will truncate output lines to fit on lines of the terminal.
  926. If this bit is 0,  what happens to lines that are too long is
  927. determined by the terminal and/or terminal driver.
  928. .INDENT -1
  929. 3 512
  930. .INDENT 5
  931. The terminal is a scope.  If this bit is 1,  the W command
  932. is defined for CRT's (VT52, VT100, etc.).  If this bit is 0,
  933. the W command is not defined for CRT's.
  934. .INDENT -1
  935. 3 1024
  936. .INDENT 5
  937. The terminal is a refresh scope.  If this bit is 1,  then
  938. the W command is defined for refresh terminals.  If this bit is
  939. a 0,  then the terminal is not a refresh scope,  and the
  940. W command is not defined for refresh scopes.
  941. .INDENT -1
  942. 3 32768
  943. .INDENT 5
  944. Trap ^C.  If this bit is 1 and a ^C is typed,  the bit is
  945. set to 0 and execution of the current command string continues.
  946. This allows TECO macros to detect ^C's.  If this bit is 0 and
  947. a ^C is typed,  the user is returned to the TECO prompt.
  948. .INDENT -1
  949. 2 EU
  950. .INDENT 5
  951. The case flag.  Additional help about how to
  952. manipulate flags can be found under the FLAGS
  953. keyword.
  954.  This flag allows TECO to be used to input and output upper
  955. and lower case characters even if the terminal being used is
  956. capable of displaying only uppercase characters.
  957.  If the EU flag is 1,  no case flagging is performed on
  958. type-out.  If the EU flag is 0,  lowercase characters are
  959. converted to uppercase on type-out,  and are preceded by
  960. a ' character.  If the EU flag is 1,  then lowercase
  961. character are converted to uppercase on type-out,  but
  962. uppercase characters are preceded by a ' character.
  963. .INDENT 5
  964. The default value for this flag is -1.
  965. If TECO can tell (by asking the operating system) that your terminal
  966. cannot support lowercase output, then it will set this flag to 0.
  967. .INDENT -1
  968. 2 EV
  969. .INDENT 5
  970. The EV flag controls what is displayed on the
  971. terminal after every successful command string completes.  By
  972. default,  nothing is displayed (EV is 0).  EV has the following
  973. meanings:
  974. .SKIP
  975. .LITERAL
  976.        0         don't display anything
  977.        -1        display the line containing the character position
  978.        1-31      display the line containing the character position,
  979.                  with a line feed at the character position
  980.        32-126    display the line containing the character position,
  981.                  with the character whose ASCII code is represented
  982.                  by ES at the character position
  983.        m*265+n   n has the meanings defined above.  m is the number
  984.                  of lines above and below the character position to be
  985.                  displayed.
  986. .END LITERAL
  987. .INDENT -1
  988. 2 EW
  989. .INDENT -1
  990. 2 EX
  991. .INDENT 5
  992. The "EX" command is used to write the current buffer to
  993. the output file, copy the remainder of the input file to
  994. the output file, and exit from TECO.  For example,
  995. .SKIP
  996. .LITERAL
  997.      EX$$
  998. .END LITERAL
  999. .SKIP
  1000. (Note that the <ESC> key echoes as "$" at your terminal,
  1001.  and that you must type the <ESC> key twice to cause the
  1002.  command to be executed.)
  1003. .INDENT -1
  1004. 2 EY
  1005. .INDENT 5
  1006. The EY command...
  1007. .INDENT -1
  1008. 2 EZ
  1009. .INDENT 5
  1010. The EZ command...
  1011. .INDENT -1
  1012. 2 F_
  1013. .INDENT 5
  1014. The F_ command...
  1015. .INDENT -1
  1016. 2 F'
  1017. .INDENT 5
  1018. The F' command...
  1019. .INDENT -1
  1020. 2 F<
  1021. .INDENT 5
  1022. The F< command...
  1023. .INDENT -1
  1024. 2 F>
  1025. .INDENT 5
  1026. The F> command...
  1027. .INDENT -1
  1028. 2 F|
  1029. .INDENT 5
  1030. The F| command...
  1031. .INDENT -1
  1032. 2 FB
  1033. .INDENT 5
  1034. The FB command...
  1035. .INDENT -1
  1036. 2 FC
  1037. .INDENT 5
  1038. The FC command...
  1039. .INDENT -1
  1040. 2 FD
  1041. .INDENT 5
  1042. The FD command...
  1043. .INDENT -1
  1044. 2 FK
  1045. .INDENT 5
  1046. The FK command...
  1047. .INDENT -1
  1048. 2 FN
  1049. .INDENT 5
  1050. The FN command...
  1051. .INDENT -1
  1052. 2 FORM-FEED
  1053. .INDENT 5
  1054. The ^L (or FORM-FEED) command performs no function in TECO.  It
  1055. echoes as a form feed and can be used to format command strings
  1056. used in macros.
  1057. .PARAGRAPH
  1058. Form feed are what split pages in files.  When TECO reads in a page
  1059. from an input file,  a form feed defines the end of the page.  Form
  1060. feeds can be inserted into files like other characters.  When inserted,
  1061. they reside in the edit buffer.  When the file is output and TECO is
  1062. used to edit the file later,  the inserted form feeds terminate pages.
  1063. .INDENT -1
  1064. 2 FR
  1065. .INDENT 5
  1066. The FR command...
  1067. .INDENT -1
  1068. 2 FS
  1069. .INDENT 5
  1070. The FS command is used to replace one string with
  1071. another string.  If the specified text is found, it is
  1072. deleted and replaced with the new text, and the pointer
  1073. is positioned at the end of the specified text.  If the
  1074. specified text is not found, the pointer is positioned
  1075. at the beginning of the buffer.
  1076. .SKIP
  1077.  The "FS" command is of the form:
  1078. .SKIP
  1079. .LITERAL
  1080.      FSold-text<ESC>new-text<ESC>
  1081. .END LITERAL
  1082.  For example, to replace the next occurrence of "exumple"
  1083. with "example", use the command
  1084. .SKIP
  1085. .LITERAL
  1086.      FSexumple$example$
  1087. .END LITERAL
  1088.  (Note that the <ESC> key echoes as "$" at your terminal.)
  1089. .INDENT -1
  1090. 2 Gq
  1091. .INDENT 5
  1092. The Gq command...
  1093. .INDENT -1
  1094. 2 G*
  1095. .INDENT 5
  1096. The G* command...
  1097. .INDENT -1
  1098. 2 G_
  1099. .INDENT 5
  1100. The G_ command...
  1101. .INDENT -1
  1102. 2 H
  1103. .INDENT 5
  1104. The H command...
  1105. .INDENT -1
  1106. 2 I
  1107. .INDENT 5
  1108. The I command is used to insert text, starting at the
  1109. current pointer.  The command is of the form:
  1110. .SKIP
  1111. .LITERAL
  1112.      Itext-to-insert<ESC>
  1113. .END LITERAL
  1114.  For example, to insert the text "This is a test", type
  1115. .SKIP
  1116. .LITERAL
  1117.      IThis is a test$
  1118. .END LITERAL
  1119.  (Note that the <ESC> key is echoed as a "$" sign at
  1120.   your terminal.)
  1121. .INDENT -1
  1122. 2 J
  1123. .INDENT 5
  1124. The J command is used to move the text pointer within
  1125. the editing buffer.  Common forms of the command are:
  1126. .SKIP
  1127. .LITERAL
  1128.     BJ  Point to the beginning of the buffer
  1129.     ZJ  Point to the end of the buffer
  1130. .END LITERAL
  1131. .INDENT -1
  1132. 2 K
  1133. .INDENT 5
  1134. The K command is used to delete lines of text from the
  1135. editing buffer.  Common forms of the command are:
  1136. .SKIP
  1137. .LITERAL
  1138.      K  Delete the text from the pointer through the
  1139.         end of the current line
  1140.     0K  Delete the text from the beginning of the
  1141.         current line to the pointer
  1142.     5K  Delete the next five lines of text, starting
  1143.         from the pointer
  1144.     HK  delete all of the text in the editing buffer
  1145. .END LITERAL
  1146. .INDENT -1
  1147. 2 L
  1148. .INDENT 5
  1149. The L command is used to move the text pointer from
  1150. one line to another.  Common forms of the command are:
  1151. .SKIP
  1152. .LITERAL
  1153.      L  Move to the beginning of the next line
  1154.     0L  Move to the beginning of the current line
  1155.     5l  Move to the fifth line past the current line
  1156.    -1L  Move back to the previous line
  1157. .END LITERAL
  1158. .INDENT -1
  1159. 2 LINE-FEED
  1160. .INDENT 5
  1161. The ^J (or LINE-FEED) command has two different functions.
  1162. .SKIP
  1163. .INDENT 5
  1164. When used as a normal command in a command string,
  1165. the LINE-FEED character has no effect.  It is meant to be used
  1166. together with the RETURN and SPACE commands to provide the TECO
  1167. programmer with a way to indent and format TECO programs and macros.
  1168. .SKIP
  1169. .INDENT 5
  1170. When used as an immediate-mode command (the first character typed after
  1171. a TECO prompt) a LINE-FEED will cause TECO to immediately move to the
  1172. front of the next line and type the line (like a 1L1T).  The LINE-FEED
  1173. immediate mode command together with the BACKSPACE immediate mode
  1174. command (which is like a -1L1T) provides a convenient way to step from
  1175. line to line within the edit buffer.
  1176. .INDENT -1
  1177. 2 M
  1178. .INDENT 5
  1179. The M command...
  1180. .INDENT -1
  1181. 2 N
  1182. .INDENT 5
  1183. The N command is the same as the "S" command, except that
  1184. the search continues across page boundaries, if necessary,
  1185. until the specified text, or the end of the file, is
  1186. encountered.
  1187.  The "N" command is of the form:
  1188. .SKIP
  1189. .LITERAL
  1190.      Ntext-to-locate<ESC>
  1191. .END LITERAL
  1192.  For example, to find the text "find me", which may appear
  1193. on a later page in the file, use the command
  1194. .SKIP
  1195. .LITERAL
  1196.      Nfind me$
  1197. .END LITERAL
  1198. (Note the the <ESC> key echoes as "$" at your terminal.)
  1199. .INDENT -1
  1200. 2 O
  1201. .INDENT 5
  1202. The O command...
  1203. .INDENT -1
  1204. 2 P
  1205. .INDENT 5
  1206. The P command is used to write the text in the editing
  1207. buffer to the output file and read the next page of text
  1208. from the input file to the editing buffer.  Common forms
  1209. of the command are:
  1210. .SKIP
  1211. .LITERAL
  1212.      P  Write the current buffer to the output file
  1213.         and get the next page
  1214.     5P  Write the current buffer, plus the next four
  1215.         pages from the input file, to the output file,
  1216.         then read the next page from the input file
  1217.         into the editing buffer
  1218. .END LITERAL
  1219. .INDENT -1
  1220. 2 Q
  1221. .INDENT 5
  1222. The Q command...
  1223. .INDENT -1
  1224. 2 R
  1225. .INDENT 5
  1226. The R command...
  1227. .INDENT -1
  1228. 2 RETURN
  1229. .INDENT 5
  1230. The ^M (or RETURN) command...
  1231. .INDENT -1
  1232. 2 S
  1233. .INDENT 5
  1234. The S command is used to locate a specified string of
  1235. text in the current buffer.  If the text is found, the
  1236. pointer is positioned after the specified text.  If the
  1237. text is not found, an error message is printed and the
  1238. pointer is set to the beginning of the buffer.
  1239.  The "S" command is of the form:
  1240. .SKIP
  1241. .LITERAL
  1242.      Stext-to-locate<ESC>
  1243. .END LITERAL
  1244.  For example, to find the text "find me", use the command
  1245. .SKIP
  1246. .LITERAL
  1247.      Sfind me$
  1248. .END LITERAL
  1249.  (Note that the <ESC> key echoes as "$" at your terminal.)
  1250. .INDENT -1
  1251. 2 SPACE
  1252. .INDENT 5
  1253. The SPACE command...
  1254. .INDENT -1
  1255. 2 T
  1256. .INDENT 5
  1257. The T command is used to type text from the editing
  1258. buffer. Common forms of the "T" command are:
  1259. .SKIP
  1260. .LITERAL
  1261.      T  Type text from the pointer to the end of the line
  1262.     0T  Type text from the beginning of the current
  1263.         line to the pointer
  1264.     5T  Print the next five lines of text, starting
  1265.         from the pointer
  1266.     HT  Print the entire contents of the editing buffer
  1267. .END LITERAL
  1268. .INDENT -1
  1269. 2 TAB
  1270. .INDENT 5
  1271. The ^I (or TAB) command...
  1272. .INDENT -1
  1273. 2 U
  1274. .INDENT 5
  1275. The U command...
  1276. .INDENT -1
  1277. 2 V
  1278. .INDENT 5
  1279. The V command...
  1280. .INDENT -1
  1281. 2 W
  1282. .INDENT 5
  1283. The W command...
  1284. .INDENT -1
  1285. 2 Xq
  1286. .INDENT 5
  1287. The Xq command...
  1288. .INDENT -1
  1289. 2 Y
  1290. .INDENT 5
  1291. The Y command...
  1292. .INDENT -1
  1293. 2 Z
  1294. .INDENT 5
  1295. The Z command...
  1296. .INDENT -1
  1297. 2 [
  1298. .INDENT 5
  1299. The [ command...
  1300. .INDENT -1
  1301. 2 \
  1302. .INDENT 5
  1303. The \ command...
  1304. .INDENT -1
  1305. 2 ]
  1306. .INDENT 5
  1307. The ] command...
  1308. .INDENT -1
  1309. 2 |
  1310. .INDENT 5
  1311. The | command...
  1312. .INDENT -1
  1313. 1 Conditionals
  1314. .INDENT 5
  1315. The " command provides TECO's conditional branching capability,
  1316. or "if-then-else" construct.  The two general forms of the " command
  1317. are
  1318. .SKIP
  1319. .LITERAL
  1320.      n"x<BODY>'               like "if x(n) then <BODY>"
  1321.  
  1322.      n"x<BODY1>|<BODY2>'      like "if x(n) then <BODY1> else <BODY2>"
  1323. .END LITERAL
  1324. .SKIP
  1325. Where n is an expression and x is a conditional character.  The
  1326. conditional characters determine how the value of the expression
  1327. is tested. Conditionals may be nested.
  1328. .PARAGRAPH
  1329. Additional help is available with TECO COMMANDS ".
  1330. .INDENT -1
  1331. 1 Deletion
  1332. .INDENT 5
  1333. The following list summarizes TECO's deletion commands.
  1334. Additional help is available individually on these commands using
  1335. the help keyword COMMANDS.
  1336. .SKIP
  1337. .LITERAL
  1338. D          delete the character following the character pointer
  1339. nD         delete n characters following the character pointer
  1340. -nD        delete n characters preceding the character pointer
  1341. m,nD       delete characters between positions m and n
  1342. FDtext$    search for and delete a text string
  1343. FRtext$    equivalent to ^SDItext$
  1344. K          delete the line following the character pointer
  1345. nK         delete n lines following the character pointer
  1346. -nK        delete n lines preceding the character pointer
  1347. m,nK       delete characters between positions m and n
  1348. HK         delete the entire edit buffer
  1349. FKtext$    delete all characters between here and text
  1350. .END LITERAL
  1351. .INDENT -1
  1352. 1 Errors
  1353. .INDENT 5
  1354. All TECO error messages are of the form
  1355. .SKIP
  1356.   ?XXX    Short text message
  1357. .SKIP
  1358. and abort TECO's command execution.
  1359. .SKIP
  1360. Typing a question mark (?) immediately after TECO's input prompt will
  1361. print the erring command string up to and including the error point.
  1362. .SKIP
  1363. Typing a slash (/) immediately after TECO's input prompt will print a
  1364. longer explanation of the error.
  1365. .INDENT -1
  1366. 2 BNI
  1367. ?BNI    > not in iteration
  1368. .SKIP
  1369. There is a close angle bracket not matched by an
  1370. open angle bracket somewhere to its left. (Note:
  1371. an iteration in a macro stored in a Q-register must
  1372. be complete within the Q-register.)
  1373. .INDENT -1
  1374. 2 CPQ
  1375. ?CPQ    Can't pop Q-reg
  1376. .SKIP
  1377. A ] command has been executed and there is nothing
  1378. saved on the Q-register push down list.
  1379. .INDENT -1
  1380. 2 DTB
  1381. ?DTB    Delete too big
  1382. .SKIP
  1383. An nD command has been attempted which is not
  1384. contained within the current page.
  1385. .INDENT -1
  1386. 2 ERR
  1387. ?ERR    ID, text
  1388. .SKIP
  1389. Some VAX/VMS system service call failed. The error
  1390. message ID and text explain the error.
  1391. .INDENT -1
  1392. 2 FNF
  1393. ?FNF    File not found "filespec"
  1394. .SKIP
  1395. The requested input file could not be located. If
  1396. this occurred within a macro the colon modified ER
  1397. or EB command may be necessary.
  1398. .INDENT -1
  1399. 2 IAA
  1400. ?IAA    Illegal A arg
  1401. .SKIP
  1402. The argument preceding a :A command is negative or 0.
  1403. .INDENT -1
  1404. 2 IEC
  1405. ?IEC    Illegal E character
  1406. .SKIP
  1407. An invalid E command has been executed. The E
  1408. character must be followed by an alphabetic to form
  1409. a legal E command (e.g., ER or EX).
  1410. .INDENT -1
  1411. 2 IFC
  1412. ?IFC    Illegal F character
  1413. .SKIP
  1414. An invalid F command has been executed.
  1415. .INDENT -1
  1416. 2 IIA
  1417. ?IIA    Illegal insert arg
  1418. .SKIP
  1419. A command of the form "nItext$" was attempted.
  1420. This combination of character and text insertion is
  1421. illegal.
  1422. .INDENT -1
  1423. 2 ILL
  1424. ?ILL    Illegal command
  1425. .SKIP
  1426. An attempt has been made to execute an invalid TECO
  1427. command.
  1428. .INDENT -1
  1429. 2 ILN
  1430. ?ILN    Illegal number
  1431. .SKIP
  1432. An 8 or 9 has been entered when the radix of TECO
  1433. is set to octal.
  1434. .INDENT -1
  1435. 2 IPA
  1436. ?IPA    Illegal P arg
  1437. .SKIP
  1438. The argument preceding a P or PW command is
  1439. negative or 0.
  1440. .INDENT -1
  1441. 2 IQC
  1442. ?IQC    Illegal " character
  1443. .SKIP
  1444. One of the valid " commands did not follow the ".
  1445. .INDENT -1
  1446. 2 IQN
  1447. ?IQN    Illegal Q-reg name
  1448. .SKIP
  1449. An illegal Q-register name was specified in one of
  1450. the Q-register commands.
  1451. .INDENT -1
  1452. 2 IRA
  1453. ?IRA    Illegal radix arg
  1454. .SKIP
  1455. The argument to a ^R radix command must be 8, 10, or 16.
  1456. .INDENT -1
  1457. 2 ISA
  1458. ?ISA    Illegal search arg
  1459. .SKIP
  1460. The argument preceding a search command is 0. This
  1461. argument must not be 0.
  1462. .INDENT -1
  1463. 2 ISS
  1464. ?ISS    Illegal search string
  1465. .SKIP
  1466. One of the search string special characters (^Q,
  1467. ^R, etc.) would have modified the search string
  1468. delimiter (usually ESCAPE).
  1469. .INDENT -1
  1470. 2 IUC
  1471. ?IUC    Illegal ^ character
  1472. .SKIP
  1473. The character following an ^ must have ASCII value
  1474. between 100 and 137 inclusive or between 141 and 172
  1475. inclusive.
  1476. .INDENT -1
  1477. ?MAP    Missing '
  1478. .SKIP
  1479. Every conditional (opened with the " command)  must
  1480. be closed with the ' command.
  1481. .INDENT -1
  1482. 2 MEM
  1483. ?MEM    Memory overflow
  1484. .SKIP
  1485. Insufficient memory available to complete the
  1486. current command. Make sure the Q-register area
  1487. does not contain much unnecessary text. Breaking
  1488. up the text area into multiple pages might be
  1489. useful.
  1490. .INDENT -1
  1491. 2 NAB
  1492. ?NAB    No arg before ^_
  1493. .SKIP
  1494. The ^_ command must be preceded by either a
  1495. specific numeric argument or a command that returns
  1496. a numeric value.
  1497. .INDENT -1
  1498. 2 NAC
  1499. ?NAC    No arg before ,
  1500. .SKIP
  1501. A command has been executed in which a , is not
  1502. preceded by a numeric argument.
  1503. .INDENT -1
  1504. 2 NAE
  1505. ?NAE    No arg before =
  1506. .SKIP
  1507. The =, ==, or === command must be preceded by
  1508. either a specific numeric argument or a command
  1509. that returns a numeric value.
  1510. .INDENT -1
  1511. 2 NAP
  1512. ?NAP    No arg before )
  1513. .SKIP
  1514. A ) parenthesis has been encountered and is not
  1515. properly preceded by a specific numeric argument or
  1516. a command that returns a numeric value.
  1517. .INDENT -1
  1518. 2 NAQ
  1519. ?NAQ    No arg before "
  1520. .SKIP
  1521. The " commands must be preceded by a single numeric
  1522. argument on which the decision to execute the
  1523. following commands or skip to the matching ' is
  1524. based.
  1525. .INDENT -1
  1526. 2 NAS
  1527. ?NAS    No arg before ;
  1528. .SKIP
  1529. The ; command must be preceded by a single numeric
  1530. argument on which the decision to execute the
  1531. following commands or skip to the matching > is
  1532. based.
  1533. .INDENT -1
  1534. 2 NAU
  1535. ?NAU    No arg before U
  1536. .SKIP
  1537. The U command must be preceded by either a specific
  1538. numeric argument or a command that returns a
  1539. numeric value.
  1540. .INDENT -1
  1541. 2 NFI
  1542. ?NFI    No file for input
  1543. .SKIP
  1544. Before issuing an input command, such as Y, it is
  1545. necessary to open an input file by use of a command
  1546. such as ER or EB.
  1547. .INDENT -1
  1548. 2 NFO
  1549. ?NFO    No file for output
  1550. .SKIP
  1551. Before issuing an output command such as N search
  1552. or P it is necessary to open an output file by use
  1553. of a command such as EW or EB.
  1554. .INDENT -1
  1555. 2 NYA
  1556. ?NYA    Numeric arg with Y
  1557. .SKIP
  1558. The Y command must not be preceded by either a
  1559. numeric argument or a command that returns a
  1560. numeric value.
  1561. .INDENT -1
  1562. 2 OFO
  1563. ?OFO    Output file already open "filespec"
  1564. .SKIP
  1565. A command has been executed which tried to create
  1566. an output file, but an output file currently is
  1567. open. It is typically appropriate to use the EC or
  1568. EK command as the situation calls for to close the
  1569. output file.
  1570. .INDENT -1
  1571. 2 PDO
  1572. ?PDO    Push-down list overflow
  1573. .SKIP
  1574. The command string has become too complex.
  1575. Simplify it.
  1576. .INDENT -1
  1577. 2 POP
  1578. ?POP    Pointer off page
  1579. .SKIP
  1580. A J, C or R command has been executed which
  1581. attempted to move the pointer off the page. The
  1582. result of executing one of these commands must
  1583. leave the pointer between 0 and Z, inclusive. The
  1584. characters referenced by a D or m,nX command must
  1585. also be within the buffer boundary.
  1586. .INDENT -1
  1587. 2 SNI
  1588. ?SNI    ; not in iteration
  1589. .SKIP
  1590. A ; command has been executed outside of an open
  1591. iteration bracket. This command may only be
  1592. executed within iteration brackets.
  1593. .INDENT -1
  1594. 2 SRH
  1595. ?SRH    Search failure "text"
  1596. .SKIP
  1597. A search command not preceded by a colon modifier
  1598. and not within an iteration has failed to find the
  1599. specified "text". After an S search fails the
  1600. pointer is left at the beginning of the buffer.
  1601. After an N or _ search fails the last page of the
  1602. input file has been input and, in the case of N,
  1603. output, and the buffer is cleared. In the case of
  1604. an N search it is usually necessary to close the
  1605. output file and reopen it for continued editing.
  1606. .INDENT -1
  1607. 2 STL
  1608. ?STL    String too long
  1609. .SKIP
  1610. A search or file name string is too long. This is
  1611. most likely the result of a missing ESCAPE after
  1612. the string.
  1613. .INDENT -1
  1614. 2 UTC
  1615. ?UTC    Unterminated command
  1616. .SKIP
  1617. This is a general error which is usually caused by
  1618. an unterminated insert, search, or filespec
  1619. argument, an unterminated ^A message, an
  1620. unterminated tag or comment (i.e., unterminated !
  1621. construct), or a missing ' character which closes a
  1622. conditional execution command.
  1623. .INDENT -1
  1624. 2 UTM
  1625. ?UTM    Unterminated macro
  1626. .SKIP
  1627. This error is the same as the ?UTC error except
  1628. that the unterminated command was executing from a
  1629. Q-register (i.e., it was a macro). (Note: An
  1630. entire command sequence stored in a Q-register must
  1631. be complete within the Q-register.)
  1632. .INDENT -1
  1633. 2 XAB
  1634. ?XAB    Execution aborted
  1635. .SKIP
  1636. Execution of TECO was aborted. This is usually due
  1637. to the typing of CTRL/C.
  1638. .INDENT -1
  1639. 2 YCA
  1640. ?YCA    Y command aborted
  1641. .SKIP
  1642. An attempt has been made to execute an Y or _
  1643. search command with an output file open, that would
  1644. cause text in the text buffer to be erased without
  1645. outputting it to the output file. The ED command
  1646. controls this check.
  1647. xxx
  1648. .INDENT -1
  1649. 2 IFE
  1650. ?IFE    ill-formed numeric expression
  1651. .SKIP
  1652. The numeric expression preceding a command doesn't make
  1653. sense.  For example, 5+ isn't a complete expression.
  1654. .INDENT -1
  1655. 2 SYS
  1656. ?SYS    %s
  1657. .SKIP
  1658. No detailed help available.
  1659. .INDENT -1
  1660. 2 UCD
  1661. ?UCD    unable to close and delete output file
  1662. .SKIP
  1663. No detailed help available.
  1664. .INDENT -1
  1665. 2 UCI
  1666. ?UCI    unable to close input file
  1667. .SKIP
  1668. No detailed help available.
  1669. .INDENT -1
  1670. 2 UCO
  1671. ?UCO    unable to close output file
  1672. .SKIP
  1673. No detailed help available.
  1674. .INDENT -1
  1675. 2 UFI
  1676. ?UFI    unable to open file "x" for input
  1677. .SKIP
  1678. No detailed help available.
  1679. .INDENT -1
  1680. 2 UFO
  1681. ?UFO    unable to open file "x" for output
  1682. .SKIP
  1683. No detailed help available.
  1684. .INDENT -1
  1685. 2 URC
  1686. ?URC    unable to read character from terminal
  1687. .SKIP
  1688. No detailed help available.
  1689. .INDENT -1
  1690. 2 URE
  1691. ?URE    unable to read TECO command file
  1692. .SKIP
  1693. No detailed help available.
  1694. .INDENT -1
  1695. 2 URL
  1696. ?URL    unable to read line from input file
  1697. .SKIP
  1698. No detailed help available.
  1699. .INDENT -1
  1700. 2 UWL
  1701. ?UWL    unable to write line to output file
  1702. .SKIP
  1703. No detailed help available.
  1704. .INDENT -1
  1705. 1 Files
  1706. .INDENT 5
  1707. TECO can maintain two input and two output files at the
  1708. same time. The following commands control files.
  1709. .SKIP
  1710. .LITERAL
  1711. EA    secondary output stream        EL   open log file
  1712. EB    open input and output          EN   wildcard lookup
  1713. EC    copy and close                 EP   secondary input stream
  1714. EF    close output file              ER   open input file
  1715. EG    EC with command string         EW   open output file
  1716. EI    indirect command file          EX   EC and exit
  1717. EK    close, delete output file
  1718. .END LITERAL
  1719. .SKIP
  1720. The following commands input and output to/from files.
  1721. .SKIP
  1722. .LITERAL
  1723. A     append page from input file to edit buffer
  1724. EQq   read file into Q-register
  1725. EY    yank without protection
  1726. P     output edit buffer,  input next page
  1727. Y     yank page from input file into edit buffer
  1728. .END LITERAL
  1729. .SKIP
  1730. Individual help is available for each of these commands.
  1731. .INDENT -1
  1732. 1 Flags
  1733. .INDENT 5
  1734. Flags control the behavior of TECO.
  1735. Changing these flags changes the way TECO executes.
  1736. Flags are manipulated as follows:
  1737. .SKIP
  1738. .LITERAL
  1739.         <flag>       returns the value of the flag
  1740.         n<flag>      set the value of the flag to n
  1741.         m,n<flag>    turns off m bits,  turns on n bits
  1742.         0,n<flag>    turns on n bits
  1743.         m,0<flag>    turns off m bits
  1744. .END LITERAL
  1745. .SKIP
  1746. The flags are:
  1747. .SKIP
  1748. .LITERAL
  1749.         ED   edit level flag           ET   type-out flag
  1750.         EH   help level flag           EU   case flag
  1751.         EO   TECO version number       EV   edit verify flag
  1752.         ES   search verify flag        ^x   search verify flag
  1753. .END LITERAL
  1754. .SKIP
  1755. Additional help is available for each individual flag using
  1756. the COMMANDS help keyword.
  1757. .INDENT -1
  1758. 1 Help
  1759. .INDENT 5
  1760.  TECOC's HELP command allows you to get HELP from the TECOC help library
  1761. or the default system library.
  1762. To get help about TECOC from the TECOC library, just say "HELP".
  1763. To get help from the default system library,  say "HELP/S"
  1764. .INDENT -1
  1765. 1 Initialization
  1766. .INDENT 5
  1767. TECO initialization...
  1768. .INDENT -1
  1769. 1 Insertion
  1770. .INDENT 5
  1771. TECO insertion...
  1772. .INDENT -1
  1773. 1 Loops
  1774. .INDENT 5
  1775. Loops...
  1776. .if MACROS
  1777. .!++
  1778. .! The help section on TECO macros has been commented out since:
  1779. .!  1) It isn't complete yet.
  1780. .!  2) The macros don't ship anymore.
  1781. .INDENT -1
  1782. 1 Macros
  1783. .INDENT -1
  1784. 2 LOCAL
  1785. .INDENT -1
  1786. 2 TYPE
  1787. .INDENT -1
  1788. 2 SQU
  1789. .INDENT -1
  1790. 2 SEARCH
  1791. .INDENT 5
  1792. SEARCH.TEC is a TECO macro used to search files for one or more
  1793. character strings, and optionally replace them. It is invoked by:
  1794. .SKIP
  1795. .LITERAL
  1796.          MUNG SYS$LIBRARY:SEARCH
  1797. .END LITERAL
  1798.  When run, it asks the following questions:
  1799. .SKIP
  1800. .LITERAL
  1801.    Output <TT:.SRH>:  Output log file
  1802.       Input <*.MAR>:  Input file spec(s)
  1803.           Lines <3>:  Number of lines to verify
  1804.   (Absolute) Search:  String(s) to search for
  1805.             Replace:  Replace for found string (if /CHA specified)
  1806.         Detach <No>:  Run detached?
  1807. .END LITERAL
  1808.  Defaults are shown in angle brackets ("<>"). The "Input" and "Search"
  1809.  questions are repeated until they are answered with a blank line.
  1810. .INDENT -1
  1811. 3 Input qualifiers
  1812. .INDENT -1
  1813. /ALL
  1814.  List all file names in main part of log whether they were match or
  1815. no-match.
  1816. .INDENT -1
  1817. 3 Output qualifiers
  1818. .INDENT -1
  1819. /ABS
  1820.  Exact case matches are required and TECO special search match
  1821. characters must be entered as control characters (i.e., not with an
  1822. uparrow).
  1823. .INDENT -1
  1824. /CHA
  1825.  Change found string. This causes "Replace:" to be requested after
  1826. every search string. The changed version is logged in the log file,
  1827. and the input file is updated.
  1828. .INDENT -1
  1829. /DIR
  1830.  Compile a directory of the files now and use it to search.
  1831. .INDENT -1
  1832. /ESC
  1833.  ESCape is the only delimiter for Search and Replace strings. Normally
  1834. a carriage return is used as the delimiter. Thus multi-line search or
  1835. replacement strings must be entered using the /ESC option.
  1836. .INDENT -1
  1837. /MAT
  1838.  Report only files with matches (No end list of no-match files).
  1839. .INDENT -1
  1840. 3 Log file
  1841. .INDENT 5
  1842. For each file which contains at least one match, a banner is printed
  1843. out, and each instance, along with the 3 (or the number requested by
  1844. the user) lines before and after it. A header line identifying the
  1845. page number is printed with each instance. Once all of the files
  1846. containing matches are logged, a list of files which do not contain
  1847. matches is printed (unless the user specifies "/MAT" or "/ALL").
  1848. .INDENT -1
  1849. 3 File specs
  1850. .INDENT 5
  1851. SEARCH allows a list of file specifications terminated by a blank line
  1852. to be requested. Any or all of these may include wildcards.
  1853. .INDENT -1
  1854. 3 Search strings
  1855. .INDENT 5
  1856. The search strings are entered as a list ending with a blank line and
  1857. are terminated with a carriage return unless "/ESC" is specified. Any
  1858. of the TECO string matching constructs may be used. Unless "/ABS" is
  1859. used, this includes "^" constructs for control characters, thus "^G"
  1860. would search for a CTRL/G (bell) character.
  1861. .endif MACROS
  1862. .INDENT -1
  1863. 1 Memory
  1864. .INDENT 5
  1865. TECO automatically remembers the file being edited. The file's
  1866. name is stored in a process logical called TEC$MEMORY. If you
  1867. invoke TECO without specifying a file-spec, TECO will read its
  1868. memory logical and re-edit the last edited file. TECO's memory
  1869. feature is completely inhibited by the /NOMEMORY qualifier.
  1870. .INDENT -1
  1871. .INDENT -1
  1872. 1 Qualifiers
  1873. .INDENT 5
  1874. Qualifiers...
  1875. .INDENT -1
  1876. 2 -c
  1877. .INDENT -1
  1878. 2 -d
  1879. .INDENT -1
  1880. 2 -m
  1881. .INDENT -1
  1882. 2 -p
  1883. .INDENT -1
  1884. 2 -r
  1885. .INDENT -1
  1886. 1 Q-registers
  1887. .INDENT 5
  1888. Q-register...
  1889. .INDENT -1
  1890. 1 Release_notes
  1891. .INDENT 5
  1892. Release_notes...
  1893. .INDENT -1
  1894. 1 Searching
  1895. .INDENT 5
  1896. TECO provides several ways to search for text strings.  The edit buffer
  1897. can be searched in a forward or backward direction.  Files can be searched
  1898. in a forward direction.  Within the edit buffer,  the area to be searched
  1899. can be bounded.  Search commands can return values so that the success or
  1900. failure of a search can control execution of macros.  Special match
  1901. control characters can be used in search arguments to allow pattern
  1902. matching.  Search commands can be modified by the @ character.
  1903. .SKIP
  1904. .INDENT 5
  1905. All search commands leave the character pointer positioned after the last
  1906. character in the search string.  Help is available individually for the
  1907. following commands:
  1908. .SKIP
  1909. .LITERAL
  1910.     S    edit buffer search        FS   search and replace
  1911.     N    file search               FN   file search and replace
  1912.     _    destructive file search   FD   search and delete
  1913. .END LITERAL
  1914. .INDENT -1
  1915. 2 Match_control_characters
  1916. .INDENT 5
  1917. TECO supports special match control constructs in search strings.
  1918. These constructs allow for special pattern matching.
  1919. The constructs are
  1920. .SKIP
  1921. .LITERAL
  1922.  ^EA      alphabetics                  ^EV         lowercase
  1923.  ^EB      non-alphanumerics            ^EW         uppercase
  1924.  ^EC      alphanumerics, . or $        ^EX         anything
  1925.  ^ED      digits                       ^E<nnn>     octal nnn
  1926.  ^EGq     anything in q-register q     ^E[a,b..]   a,b...
  1927.  ^EL      LF, VT, FF                   ^Nx         anything but x
  1928.  ^EMx     * of x                       ^S          non-alphanumerics
  1929.  ^ER      alphanumerics                ^X          anything
  1930.  ^ES      * of spaces, tabs
  1931. .END LITERAL
  1932. .INDENT -1
  1933. 3 ^EA
  1934. .INDENT 5
  1935. The ^EA match control construct indicates that any alphabetic
  1936. character is acceptable in this position.  Alphabetic characters are
  1937. upper and lower case characters from a to z.
  1938. .INDENT -1
  1939. 3 ^EB
  1940. .INDENT 5
  1941. The ^EB match control construct indicates that any separator
  1942. character is acceptable in this position.  Characters other than letters
  1943. (a-z upper and lowercase) and digits are separators.
  1944.  The ^EB match control construct is the same as the ^S match control
  1945. construct.
  1946. .INDENT -1
  1947. 3 ^EC
  1948. .INDENT 5
  1949. The ^EC match control construct indicates that any character
  1950. that is valid in a symbol name is acceptable in this position.  The
  1951. characters that are valid in symbol names are alphanumerics (letters
  1952. and digits), period and dollar sign.
  1953. .INDENT -1
  1954. 3 ^ED
  1955. .INDENT 5
  1956. The ^ED match control construct indicates that any digit character
  1957. is acceptable in this position.  Digits are 0 through 9.
  1958. .INDENT -1
  1959. 3 ^EGq
  1960. .INDENT 5
  1961. The ^EGq match control construct indicates that any character in
  1962. q-register q is acceptable in this position.  For instance,  if q-register
  1963. q contains A, B and C,  then A, B or C is acceptable in this position.
  1964. .INDENT -1
  1965. 3 ^EL
  1966. .INDENT 5
  1967. The ^EL match control construct indicates that any line terminator
  1968. character is acceptable in this position.  Line terminator characters are
  1969. LINE-FEED, VERTICAL-TAB and FORM-FEED.
  1970. .INDENT -1
  1971. 3 ^EMx
  1972. .INDENT 5
  1973. The ^EMx match control construct indicates that any non-zero
  1974. number of occurrences of x is acceptable in this position.  x can
  1975. be another match control construct.
  1976.  For instance,  ^EMZ will match Z, ZZ, ZZZ, ZZZZ, etc.
  1977. .INDENT -1
  1978. 3 ^ER
  1979. .INDENT 5
  1980. The ^ER match control construct indicates that any alphanumeric
  1981. character is acceptable in this position.  Alphanumeric characters
  1982. are letter (a-z upper or lower case) and digits (0-9).
  1983. .INDENT -1
  1984. 3 ^ES
  1985. .INDENT 5
  1986. The ^ES match control construct indicates that a non-null string
  1987. of spaces and/or tabs is acceptable in this position.
  1988.  For instance, the following command string
  1989. .SKIP
  1990. .LITERAL
  1991. j<fs^ES
  1992. $
  1993. $>$$
  1994. .END LITERAL
  1995. .SKIP
  1996. will trim all spaces and tabs off the end of lines of text in the
  1997. edit buffer.
  1998. .INDENT -1
  1999. 3 ^EV
  2000. .INDENT 5
  2001. The ^EV match control construct indicates that any lower case
  2002. alphabetic character (a-z) is acceptable in this position.
  2003. .INDENT -1
  2004. 3 ^EW
  2005. .INDENT 5
  2006. The ^EV match control construct indicates that any upper case
  2007. alphabetic character (A-Z) is acceptable in this position.
  2008. .INDENT -1
  2009. 3 ^EX
  2010. .INDENT 5
  2011. The ^EX match control construct indicates that any character
  2012. is acceptable in this position.
  2013.  The ^X match control construct is the same as the ^EX match
  2014. control construct.
  2015. .INDENT -1
  2016. 3 ^E<nnn>
  2017. .INDENT 5
  2018. The ^E<nnn> match control construct indicates that the
  2019. character that has octal code nnn is acceptable in this position.
  2020. This construct is useful for specifying characters in search strings
  2021. that would cause unpleasant effects if they were entered directly.
  2022. Characters like NULL, DELETE and ESCAPE fall into this category.
  2023. .INDENT -1
  2024. 3 ^E[a,b,c...]
  2025. .INDENT 5
  2026. The ^E[a,b,c...] match control construct indicates that any
  2027. of the characters a, b, c... are acceptable in this position.
  2028.  For instance,  the command string
  2029. .SKIP
  2030. .LITERAL
  2031. sth^E[i,a]^E[s,t]$$
  2032. .END LITERAL
  2033. .SKIP
  2034. would match "this" or "that" or "thit" or "thas".
  2035. .INDENT -1
  2036. 3 ^Nx
  2037. .INDENT 5
  2038. The ^Nx match control construct indicates that any character
  2039. except x is acceptable in this position.  x can be a match control
  2040. construct.
  2041.  For instance,  the command string
  2042. .SKIP
  2043. .LITERAL
  2044. s^N^E[a,b]$$
  2045. .END LITERAL
  2046. .SKIP
  2047. would match any character except lowercase a and lowercase b.
  2048. .INDENT -1
  2049. 3 ^S
  2050. .INDENT 5
  2051. The ^S match control construct indicates that any separator
  2052. character is acceptable in this position.  Characters other than letters
  2053. (a-z upper and lowercase) and digits are separators.
  2054.  The ^S match control construct is the same as the ^EB match control
  2055. construct.
  2056. .INDENT -1
  2057. 3 ^X
  2058. .INDENT 5
  2059. The ^X match control construct indicates that any character
  2060. is acceptable in this position.
  2061.  The ^X match control construct is the same as the ^EX match
  2062. control construct.
  2063. .INDENT -1
  2064. 2 String_building_characters
  2065. .INDENT 5
  2066. It is sometimes helpful to be able to include characters within
  2067. search arguments that cannot be entered directly.  The ESCAPE character
  2068. is a good example,  as are ^C, ^Y and DELETE.  TECO supports special
  2069. string building constructs that allow special characters to be entered
  2070. in search commands.
  2071. .INDENT -1
  2072. 3 ^Q
  2073. .INDENT 5
  2074. The ^Q string build construct indicates that the character following
  2075. the ^Q is to be used literally rather than as a match control character.
  2076.  The ^Q string build construct is the same as the ^R string build
  2077. construct.
  2078. .INDENT -1
  2079. 3 ^R
  2080. .INDENT 5
  2081. The ^R string build construct indicates that the character following
  2082. the ^Q is to be used literally rather than as a match control character.
  2083.  The ^R string build construct is the same as the ^Q string build
  2084. construct.
  2085. .INDENT -1
  2086. 3 ^V
  2087. .INDENT 5
  2088. The ^V string build construct indicates that the character following
  2089. the ^V is to be used as the equivalent character in lower case.  For
  2090. instance,  ^VR would equal r in a search argument.
  2091. .INDENT -1
  2092. 3 ^V^V
  2093. .INDENT 5
  2094. The ^V^V string build construct indicates that all characters
  2095. following the ^V^V in the string are to be converted to lower case.
  2096. All characters in the string are converted up to the end of the string
  2097. or a ^W^W string build construct.  The ^W string build construct can be
  2098. used to override the ^V^V on a single-character basis.
  2099. .INDENT -1
  2100. 3 ^W
  2101. .INDENT 5
  2102. The ^W string build construct indicates that the character following
  2103. the ^W is to be used as the equivalent character in upper case.  For
  2104. instance,  ^Wr would equal R in a search argument.
  2105. .INDENT -1
  2106. 3 ^W^W
  2107. .INDENT 5
  2108. The ^W^W string build construct indicates that all characters
  2109. following the ^W^W in the string are to be converted to upper case.
  2110. All characters in the string are converted up to the end of the string
  2111. or a ^V^V string build construct.  The ^V string build construct can be
  2112. used to override the ^W^W on a single-character basis.
  2113. .INDENT -1
  2114. 3 ^EQq
  2115. .INDENT 5
  2116. The ^EQq string build construct that the string contained in
  2117. q-register q is to be used in this position in the search string.
  2118. .INDENT -1
  2119. 3 ^EUq
  2120. .INDENT 5
  2121. The ^EUq string build construct indicates that that character
  2122. whose ASCII code is contained in q-register q is to be used in
  2123. this position in the search string.
  2124. .INDENT -1
  2125. 1 TECO
  2126. .INDENT 5
  2127. TECO is a text editing program and a programming language.
  2128. It allows the user to edit text interactively using simple,  short
  2129. (one or two letter) commands.
  2130. The commands can be combined to form TECO programs,  or macros.
  2131. These macros can be stored in files and executed by the user while in TECO
  2132. or in a stand-alone fashion.
  2133. .SKIP
  2134. Format:          teco -c -d data -m -p -r filespec
  2135. .SKIP
  2136. The teco command needs to be defined as a foreign command in your LOGIN.COM
  2137. file.
  2138. The following lines illustrate how this can be done:
  2139. .SKIP
  2140. .LITERAL
  2141.         te*co   :== $SYS$SYSTEM:TECOC
  2142.         ma*ke   :== $SYS$SYSTEM:TECOC -c
  2143.         mu*ng   :== $SYS$SYSTEM:TECOC -p
  2144. .END LITERAL
  2145.